PHP code works on Chrome, but not on Firefox or IE (send email via HTML form) [on hold]

Posted by Cachirro on Pro Webmasters See other posts from Pro Webmasters or by Cachirro
Published on 2013-11-01T17:12:39Z Indexed on 2013/11/02 4:10 UTC
Read the original article Hit count: 266

Filed under:
|
|
|
|

My brother has this form:

<form id="lista" action="lista2.php" method="post">

<input name="cf_name" type="text" size="50" hidden="yes" class="obscure"> <input name="cf_email" type="text" size="50" hidden="yes" class="obscure"> <textarea name="cf_message" cols="45" rows="10" hidden="yes" class="obscure"> </textarea>

<input type="image" name="submit" value="Enviar Lista por Email" src="imagens/lista_email.png" width="40" height="40" onclick="this.form.elements['cf_message'].value = lista_mail;this.form.elements['cf_name'].value = prompt('Escreva o seu nome:', '');this.form.elements['cf_email'].value = prompt('Escreva o seu email:', '');"> <input name="submit2" type="submit" value="Enviar" hidden="yes" class="obscure">

</form>

That calls this PHP file:

<?php

if ( isset($_POST['submit']) ) {

// Dados de autenticacao SMTP
$smtpinfo['host'] = 'localhost';
$smtpinfo['port'] = '25';
$smtpinfo['auth'] = true;
$smtpinfo['username'] = 'xxx';
$smtpinfo['password'] = 'xxx';

// Dados recebidos do formulario
$nome = $_POST['cf_name'];
$email = $_POST['cf_email'];
$mensagem = $_POST['cf_message'];

// Inclusão de ficheiro PEAR. Certifique-se que o PEAR está activado no seu alojamento
require_once "Mail.php";

// Corpo da mensagem
$body = "Nome: ".$nome;
$body.= "\n\n";
$body.= nl2br($mensagem);

$headers = array ('From' => $email,
'To' => $smtpinfo["username"],
'Subject' => 'Encomenda Website');

$mail_object = Mail::factory('smtp', $smtpinfo);

$mail = $mail_object->send($smtpinfo["username"], $headers, $body);

if ( PEAR::isError($mail) ) {
echo ("<p>" . $mail->getMessage() . "</p>");
} else {
echo ('<b><font color="FFFF00">Mensagem enviada com sucesso.<br><br></b>Seu email: ' . $email . '<br><br></font>');
}}

?>

This basically sends an email with some selected products, name and email.

The problem is that it works perfectly on Chrome, but not on FF or IE. When the submit image is pressed, the URL changes to the PHP file, but it displays a blank page.

After display errors activated:

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1)

FF/IE display blank page and email isn't sent, Chrome sends the email and displays this:

Strict Standards: Non-static method Mail::factory() should not be called statically in /var/www/vhosts/[site url]/httpdocs/lista2.php on line 33
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/share/php/Mail/smtp.php , dont know if it helps

So, what is causing the email to be sent on chrome and not on FF or IE?

Thank you.

© Pro Webmasters or respective owner

Related posts about php

Related posts about html